package cn.fl.custpay.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.custpay.dto.CmmRechargeRecordDTO;
import cn.fl.custpay.vo.CmmRechargeRecordVO;
import cn.cmm.base.framework.utils.CollectionUtils;

 /**
 * @Description: 还款记录 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class CmmRechargeRecordVOTransform {


	 /**
	  * DTO 转  VO
	  * @param dto CmmRechargeRecordDTO
	  * @return CmmRechargeRecordVO
	  */
	 public static CmmRechargeRecordVO toVO(CmmRechargeRecordDTO dto) {
		 CmmRechargeRecordVO  vo = null;
		 if (dto != null) {
			 vo = new CmmRechargeRecordVO();
			 vo.setId(dto.getId());
			 vo.setPaymentMoney(dto.getPaymentMoney());//实际付款金额
			 vo.setBankId(dto.getBankId());//银行卡id
			 vo.setPlatformSeqId(dto.getPlatformSeqId());//汇付平台交易唯一标识号,信联流水号
			 vo.setFeeAmt(dto.getFeeAmt());//汇付手续费金额,信联手续费
			 vo.setIsSuc(dto.getIsSuc());//是否成功（3:已受理，2：未支付，1：是，0：否）
			 vo.setPayType(dto.getPayType());//支付平台（2：信联支付）
			 vo.setCommAmt(dto.getCommAmt());//应收手续费
			 vo.setPayComm(dto.getPayComm());//实收手续费
			 vo.setCommPayType(dto.getCommPayType());//手续费类型（0:狮桥支付,1:用户支付,2:用户有免费次数）
			 vo.setLocalSeqId(dto.getLocalSeqId());//平台流水(函数:FN_GEN_RECHARGE_LOCAL_SEQ_ID)
			 vo.setPartnerAcDate(dto.getPartnerAcDate());//合作商户会计日期
			 vo.setAcDate(dto.getAcDate());//信联会计日期
			 vo.setPayDate(dto.getPayDate());//支付时间
			 vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			 vo.setIsAuto(dto.getIsAuto());//是否是主动查询订单成功状态(1：是，0：否)
			 vo.setClientName(dto.getClientName());//登陆人姓名
			 vo.setClientPhone(dto.getClientPhone());//登陆人手机号
			 vo.setPaymentType(dto.getPaymentType());//支付类型（1：快捷支付，2：代扣支付）
			 vo.setResultDesc(dto.getResultDesc());//支付结果描述
			 vo.setIsAutoCharge(dto.getIsAutoCharge());//是否是自动代扣(1：是，0：否)
			 vo.setCrtTm(dto.getCrtTm());//创建时间
			 vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			 vo.setMdfTm(dto.getMdfTm());//修改时间
			 vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			 vo.setPrpslSts(dto.getPrpslSts());//处理状态(0：未处理，1：处理中，2：已处理)
			 vo.setFinResult(dto.getFinResult());//处理结果
			 vo.setBusType(dto.getBusType());//业务类型
		 }
		 return vo;
	 }

	 /**
	  * VO 转 DTO
	  * @param vo CmmRechargeRecordVO
	  * @return CmmRechargeRecordDTO
	  */
	 public static CmmRechargeRecordDTO toDTO(CmmRechargeRecordVO vo) {
		 CmmRechargeRecordDTO dto = null;
		 if (vo != null) {
			 dto = new CmmRechargeRecordDTO();
			 dto.setId(vo.getId());
			 dto.setPaymentMoney(vo.getPaymentMoney());//实际付款金额
			 dto.setBankId(vo.getBankId());//银行卡id
			 dto.setPlatformSeqId(vo.getPlatformSeqId());//汇付平台交易唯一标识号,信联流水号
			 dto.setFeeAmt(vo.getFeeAmt());//汇付手续费金额,信联手续费
			 dto.setIsSuc(vo.getIsSuc());//是否成功（3:已受理，2：未支付，1：是，0：否）
			 dto.setPayType(vo.getPayType());//支付平台（2：信联支付）
			 dto.setCommAmt(vo.getCommAmt());//应收手续费
			 dto.setPayComm(vo.getPayComm());//实收手续费
			 dto.setCommPayType(vo.getCommPayType());//手续费类型（0:狮桥支付,1:用户支付,2:用户有免费次数）
			 dto.setLocalSeqId(vo.getLocalSeqId());//平台流水(函数:FN_GEN_RECHARGE_LOCAL_SEQ_ID)
			 dto.setPartnerAcDate(vo.getPartnerAcDate());//合作商户会计日期
			 dto.setAcDate(vo.getAcDate());//信联会计日期
			 dto.setPayDate(vo.getPayDate());//支付时间
			 dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			 dto.setIsAuto(vo.getIsAuto());//是否是主动查询订单成功状态(1：是，0：否)
			 dto.setClientName(vo.getClientName());//登陆人姓名
			 dto.setClientPhone(vo.getClientPhone());//登陆人手机号
			 dto.setPaymentType(vo.getPaymentType());//支付类型（1：快捷支付，2：代扣支付）
			 dto.setResultDesc(vo.getResultDesc());//支付结果描述
			 dto.setIsAutoCharge(vo.getIsAutoCharge());//是否是自动代扣(1：是，0：否)
			 dto.setCrtTm(vo.getCrtTm());//创建时间
			 dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			 dto.setMdfTm(vo.getMdfTm());//修改时间
			 dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			 dto.setPrpslSts(vo.getPrpslSts());//处理状态(0：未处理，1：处理中，2：已处理)
			 dto.setFinResult(vo.getFinResult());//处理结果
			 dto.setBusType(vo.getBusType());//业务类型
		 }
		 return dto;
	 }

	 /**
	  * DTO集合 转 VO集合
	  * @param list List<CmmRechargeRecordDTO>
	  * @return List<CmmRechargeRecordVO>
	  */
	 public static List<CmmRechargeRecordVO> toVOList(List<CmmRechargeRecordDTO> list) {
		 List<CmmRechargeRecordVO>  voList = new ArrayList<CmmRechargeRecordVO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (CmmRechargeRecordDTO dto : list) {
				 voList.add(toVO(dto));
			 }
		 }
		 return voList;
	 }

	 /**
	  * VO集合 转 DTO集合
	  * @param list List<CmmRechargeRecordVO>
	  * @return List<CmmRechargeRecordDTO>
	  */
	 public static List<CmmRechargeRecordDTO> toDTOList(List<CmmRechargeRecordVO> list) {
		 List<CmmRechargeRecordDTO>  dtoList = new ArrayList<CmmRechargeRecordDTO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (CmmRechargeRecordVO vo : list) {
				 dtoList.add(toDTO(vo));
			 }
		 }
		 return dtoList;
	 }
}
